Parallelization Strategies for Network Interface Firmware
نویسندگان
چکیده
Typical data-intensive embedded applications have large amounts of instruction-level parallelism that is often exploited with wide-issue VLIW processors. In contrast, event-driven embedded applications are believed to have very little instruction-level parallelism, so these applications often utilize much simpler processor cores. Programmable network interface cards, for example, utilize thread-level parallelism across multiple processor cores to handle multiple events concurrently. However, the synchronization required to access a device’s shared external I/O interfaces lead to scalability limitations and diminishing returns. This paper compares the instruction-level parallelism versus thread-level parallelism in control-dominated network interface firmware and finds that though thread-level parallelism scales to higher levels of performance, there exists a significant amount of instruction-level parallelism that can be exploited by traditional wide-issue VLIW processors. For example, a seven-wide VLIW-based network interface architecture achieves approximately the same frame throughput as a two-way single-issue multiprocessor implementation. This motivates the use of wide-issue VLIW architectures typically used for media and signal processing workloads to extract parallelism left previously unutilized by existing thread-level approaches. This paper advocates that a combination of these two approaches should lead to even higher levels of performance than today’s control-oriented embedded systems architectures.
منابع مشابه
Using Model Checking to Debug Network Interface Firmware
Network interface firmware is a piece of concurrent software that achieves high performance at the cost of software complexity. They contain subtle race conditions that make them difficult to debug using traditional debugging techniques. The problem is further compounded by the lack of debugging support on the devices. This is a serious problem because the device firmware is trusted by the oper...
متن کاملMicro-Architectures of High Performance, Multi-User System Area Network Interface Cards
This paper examines two Network Interface Card microarchitectures that support low latency, high bandwidth userlevel message passing in multi-user environments. The two are at different ends of a design spectrum – the Resident queues design relies completely on hardware, while the Non-resident queues design is heavily firmware driven. Through actual implementation of these designs and simulatio...
متن کاملNetwork Working Group Dynamic Host Configuration Protocol (dhcp) Options for the Intel Preboot Execution Environment (pxe) 2.1. Client System Architecture Type Option Definition ..........2 2.2. Client Network Interface Identifier Option Definition ......3 2.3. Client Machine Identifier Option Definition ................4
Status of This Memo This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. Abstract We define Dynamic Host Configuration Protocol (DHCP) options being used by Preboot eXecution Environment (PXE) and Extensible Firmware Interface (EFI) clients to uniquely identify booting client machines and their p...
متن کاملTowards Automated Classification of Firmware Images and Identification of Embedded Devices
Embedded systems, as opposed to traditional computers, bring an incredible diversity. The number of devices manufactured is constantly increasing and each has a dedicated software, commonly known as firmware. Full firmware images are often delivered as multiple releases, correcting bugs and vulnerabilities, or adding new features. Unfortunately, there is no centralized or standardized firmware ...
متن کاملAn Intel IXP1200-based Network Interface
We describe and evaluate a quad 100T ethernet network interface built using an Intel IXP1200 network processor on a commonly available Radisys ENP2505 PCI board. The network interface exports a raw ethernet interface either to the host kernel or to user level for cluster computing applications. We describe the firmware architecture and internal design decisions, then evaluate the resulting netw...
متن کامل